[IA64] Handle MMIO EFI mappings outside the page table range
authorawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>
Thu, 1 Mar 2007 18:21:44 +0000 (11:21 -0700)
committerawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>
Thu, 1 Mar 2007 18:21:44 +0000 (11:21 -0700)
commit1a488277536c30ac085ef0a89be8fb16ad44995c
treed6d46e907458a981a038cd7b9ee30e9bd8ba6577
parent45c11cc5d56bc5d2fd08fb7e76168ff6d7b838d4
[IA64] Handle MMIO EFI mappings outside the page table range

We cannot rely on MMIO pages presented in the EFI mem-map can be
mapped directly to the same meta-physical address, because of
restrictions on the address range imposed by the page tables.

As an example, IO ports are located at 0x1ffffffffc000000 on many SN2
systems.

Change assign_domain_mmio_page() to take a flags and a source and
destination address to handle this and catch IO ports above
0x1ffffffff0000000 and map them down to a safe area.

Signed-off-by: Jes Sorensen <jes@sgi.com>
xen/arch/ia64/xen/dom0_ops.c
xen/arch/ia64/xen/dom_fw.c
xen/arch/ia64/xen/mm.c
xen/include/asm-ia64/mm.h